// package com.game.config.netty;
//
// import io.netty.bootstrap.Bootstrap;
// import io.netty.channel.*;
// import io.netty.channel.nio.NioEventLoopGroup;
// import io.netty.channel.socket.SocketChannel;
// import io.netty.channel.socket.nio.NioSocketChannel;
// import io.netty.handler.codec.string.StringDecoder;
// import io.netty.handler.codec.string.StringEncoder;
// import org.springframework.stereotype.Component;
//
// @Component
// public class NettyClient {
//
//     public void connect(String host, int port) throws Exception {
//         EventLoopGroup group = new NioEventLoopGroup();
//         try {
//             Bootstrap b = new Bootstrap();
//             b.group(group)
//              .channel(NioSocketChannel.class)
//              .handler(new ChannelInitializer<SocketChannel>() {
//                  @Override
//                  protected void initChannel(SocketChannel ch) throws Exception {
//                      ChannelPipeline p = ch.pipeline();
//                      p.addLast(new StringDecoder());
//                      p.addLast(new StringEncoder());
//                      p.addLast(new MessageClientHandler());
//                  }
//              });
//
//             ChannelFuture f = b.connect(host, port).sync();
//             f.channel().closeFuture().sync();
//         } finally {
//             group.shutdownGracefully();
//         }
//     }
// }
//
// // 客户端处理类
// class MessageClientHandler extends SimpleChannelInboundHandler<String> {
//     @Override
//     protected void channelRead0(ChannelHandlerContext ctx, String msg) throws Exception {
//         System.out.println("Received from server: " + msg);
//     }
//
//     @Override
//     public void channelActive(ChannelHandlerContext ctx) throws Exception {
//         String playerId = ctx.channel().localAddress().toString(); // 示例中使用本地地址作为玩家ID
//         System.out.println("Connected to server as player: " + playerId);
//         ctx.writeAndFlush("Hello, server!");
//     }
//
//     @Override
//     public void channelInactive(ChannelHandlerContext ctx) throws Exception {
//         System.out.println("Disconnected from server.");
//     }
// }
